Ext.namespace('Attivita.app');

Attivita.app.Main = function(config){

	var _this = this;

			
	    Ext.QuickTips.init();

	    var disableBtnNuovaAttivita = false;
	    if(config.disableBtnNuovaAttivita != null)
	    	disableBtnNuovaAttivita = config.disableBtnNuovaAttivita;
	    

		var west = {
			title:'ricerca',
			//frame:true,
			region:'west',
	/*		xtype:'panel',*/
			xtype:'attivitacercaform',
			split: true,
			collapsible: true,
			margins:'3 0 3 3',
			cmargins:'3 3 3 3',
			width:'40%',
			listeners: {
				ricerca: function(params){
					Ext.getCmp('btn-seleziona').disable();
					var grid = Ext.getCmp('grid-attivita');
					grid.getStore().load({params: params, url:''})
					Ext.getCmp('attivitaAnag_btnNew').enable();
				}
			}

		}

		var center = {
			region: 'center',
			title: 'elenco',
			id:'grid-attivita', 
			frame: true,
			margins:'3 0 3 0',
			xtype: 'attivitagrid', //utilizzo il nome registrato in editForm
			tbar:[{
				id:'attivitaAnag_btnNew',
				text:'Nuova attività',
				disabled:disableBtnNuovaAttivita,
				handler: function(){
					var dataForm = Ext.getCmp('grid-attivita').dataVoid;
					var finestra = new Attivita.form.WinEdit({
	 					listeners:{recordadded: function(){
	 						Ext.getCmp('grid-attivita').getStore().reload();	//registrazione all'evento 'recordadded' della window che effettua il broadcast dell'omonimo evento sulla form
						}}
					});
					Ext.getCmp('attivitaForm-tabUnitaLoc').disable();
					finestra.setValues(dataForm);
					finestra.show();
					}
			},
			{
				text:'seleziona',
				id:'btn-seleziona',
				disabled: true,
				handler: function(){
					var griglia = Ext.getCmp('grid-attivita');
					var record = griglia.getSelectionModel().getSelected();
					if(config.onCaricaSelezione)  config.onCaricaSelezione(record)
					win.close();
				}

			}],
			listeners: {
	/*			rowdblclick: function(grid, rowIndex,  e ){
					var ds=grid.getStore();
					var record = ds.getAt(rowIndex);
					var finestra = new Anagrafica.form.WinEdit();
					finestra.show();
					finestra.setRecord(record);
					finestra.loadProfessioni(record.data.idAdresse)
				}*/
				cellclick: function(grid, rowIndex, columnIndex, e) {
					Ext.getCmp('btn-seleziona').enable();
					if(columnIndex != 0)
						return;
					Ext.get(document.body).mask('caricamento in corso...');
					

					//esegue il blocco di istruzioni
					(function(){
						var ds=grid.getStore();
						var record = ds.getAt(rowIndex);
						var finEdit = new Attivita.form.WinEdit();
						finEdit.addListener('show', function(){Ext.get(document.body).unmask()})
						finEdit.show();
						appContext.currentAttRecord = record;
						finEdit.setRecord(record);

						finEdit.loadUnitaLocali(record.data.idattivita);
						
					}).defer(100)



				},
	 			rowdblclick: function(grid, rowIndex, e){
					var ds=grid.getStore();
					var record = ds.getAt(rowIndex);
					grid.fireEvent('caricaselezione', record);   //registrarsi su questo evento 'addListeners' sul modulo chiamante es.ricerca; in questo caso viene passato il record come parametro

				} 
			}



		};
		




		var vp = new Ext.Panel({
			layout:'border',
			items:[west, center]
		})
		
		var win = new Ext.Window({
			layout:'fit',
			title: 'Anagrafica Attività',
			closable:true,
			width:800,
			height:350,
			//border:false,
			plain:false,
			modal:true,
			items: [vp]

		});

		win.show();

		
	}
